﻿#include <iostream>     // 用于 std::cout
#include <future>       // 用于 std::async 和 std::future
#include <chrono>       // 用于 std::chrono::seconds
#include <thread>       // ✅ 用于 std::this_thread::sleep_for

// 模拟一个加载图片的耗时操作
std::string load_image(const std::string& filename) {
    std::this_thread::sleep_for(std::chrono::seconds(2)); // 睡眠 2 秒钟
    return "Image loaded: " + filename;
}

int main() {
    // 启动两个异步任务，分别加载两张图片
    auto f1 = std::async(std::launch::async, load_image, "img1.jpg");
    auto f2 = std::async(std::launch::async, load_image, "img2.jpg");

    // 获取任务返回值，并输出
    std::cout << f1.get() << std::endl;
    std::cout << f2.get() << std::endl;

    return 0;
}
